package com.ruoyi.blogs.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.SysUser;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

@ApiModel(value = "BsCommentVo", description = "评论Vo实体")
public class BsCommentVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    /** 用户id */
    @ApiModelProperty("用户id")
    @Excel(name = "用户id")
    private Long userId;

    /** 用户名称 */
    @ApiModelProperty("用户名称")
    @Excel(name = "用户名称")
    private String userName;

    /** 笔记id */
    @ApiModelProperty(value = "笔记id", required = true)
    @Excel(name = "笔记id")
    private String noteId;

    /** 评论的上级id */
    @ApiModelProperty(value = "评论的上级id", required = true)
    @Excel(name = "评论的上级id")
    private Long parentId;

    /** 内容 */
    @ApiModelProperty(value = "内容", required = true)
    @Excel(name = "内容")
    private String content;

    /** 点赞数 */
    @ApiModelProperty("点赞数")
    @Excel(name = "点赞数")
    private Long likeNum;

    /** 点踩数 */
    @ApiModelProperty("点踩数")
    @Excel(name = "点踩数")
    private Long belittleNum;

    /** 是否点赞 */
    @ApiModelProperty("是否点赞 0是未点赞，1是已点赞")
    @Excel(name = "是否点赞")
    private Integer isLike;

    /** 是否点踩 */
    @ApiModelProperty("是否点踩 0是未点踩，1是已点踩")
    @Excel(name = "是否点踩")
    private Integer isBelittle;

    @ApiModelProperty("用户信息")
    @Excel(name = "用户信息")
    private SysUser user;

    /** 被回复的用户id */
    @ApiModelProperty(value = "被回复的用户id")
    @Excel(name = "被回复的用户id")
    private Long replyUserId;

    @ApiModelProperty("被回复的的用户信息")
    private SysUser replyUser;

    @ApiModelProperty("一级评论下的回复")
    private List<BsCommentVo> children;

    public List<BsCommentVo> getChildren() {
        return children;
    }

    public void setChildren(List<BsCommentVo> children) {
        this.children = children;
    }

    public SysUser getReplyUser() {
        return replyUser;
    }

    public void setReplyUser(SysUser replyUser) {
        this.replyUser = replyUser;
    }

    public Long getReplyUserId() {
        return replyUserId;
    }

    public void setReplyUserId(Long replyUserId) {
        this.replyUserId = replyUserId;
    }

    public SysUser getUser() {
        return user;
    }

    public void setUser(SysUser user) {
        this.user = user;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNoteId() {
        return noteId;
    }

    public void setNoteId(String noteId) {
        this.noteId = noteId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Long getLikeNum() {
        return likeNum;
    }

    public void setLikeNum(Long likeNum) {
        this.likeNum = likeNum;
    }

    public Long getBelittleNum() {
        return belittleNum;
    }

    public void setBelittleNum(Long belittleNum) {
        this.belittleNum = belittleNum;
    }

    public Integer getIsLike() {
        return isLike;
    }

    public void setIsLike(Integer isLike) {
        this.isLike = isLike;
    }

    public Integer getIsBelittle() {
        return isBelittle;
    }

    public void setIsBelittle(Integer isBelittle) {
        this.isBelittle = isBelittle;
    }
}
